Грубо обобщая, можно разделить функции ввода/вывода в каркасе .NET Framework на две широких категории, не зависящих от устройства хранения данных (диск, память, и т.д.): это запись и чтение.
Данные могут рассматриваться как поток байтов или символов. Например, мы могли
прочитать 500 байтов из файла, и записать их в буфер памяти. Данные также можно
рассматривать как набор объектов. Чтение и запись объектов называются соответственно
преобразованием из последовательной формы в параллельную и преобразованием в
последовательную форму (сериализацией). Мы можем сериализировать (записать)
список объектов типа Customer (Клиент) на диск. Затем мы можем список объектов
Customer (Клиент) преобразовать из последовательной формы в параллельную, т.е.
прочитать этот список обратно в память.
В пространстве имен System::IO есть несколько классов для чтения и записи,
позволяющих использовать различные устройства хранения, если только данные можно
трактовать как байты или символы. Функциональные возможности сериализации могут
проявляться в различных местах каркаса .NET. Пространство имен System::Runtime::Serialization
(Система-Время выполнения::Сериализация) используется для сериализации в общей
системе типов (Common Type System). Пространство имен System::Xml: Serialization